﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using Iesi.Collections.Generic;
using System.Linq;
using System.Text;

namespace SEDomain.Entities
{
    public class Customer : Entity<Customer>
    {
        private string _customerCode;
        private string _customerName;
        private readonly IList<CustomerPrint> _customerprints;
        private User _user;
        private DateTime? _addDate;
        private string _status;

        public Customer() : this(null)
        {
        }
        public Customer(string customerName)
        {
            _customerprints = new List<CustomerPrint>();
           _customerName = customerName;
        }

        public virtual string CustomerCode
        {
            get { return _customerCode; }
            set { _customerCode = value; }
        }

        public virtual string CustomerName
        {
            get { return _customerName; }
            set { _customerName = value; }
        }
        public virtual DateTime? AddDate
        {
            get { return _addDate; }
            set { _addDate = value; }
        }
        public virtual string Status
        {
            get { return _status; }
            set { _status = value; }
        }

        public virtual User User
        {
            get { return _user; }
            set { _user = value; }
        }
        public virtual ReadOnlyCollection<CustomerPrint> CustomerPrints
        {
            get { return new ReadOnlyCollection<CustomerPrint>(_customerprints); }
        }

    }
}
